if(/^(?:[^\(\)="']+=[^\(='"\[]+|(?:[\?a-z_0-9;,&=\/]|\.[\d\.])*)$/i.test(expr) && !/\b=[\s\S]*_QS_\b/.test(expr)) // commonest case, single assignment or simple chained assignments, no break
// fallback for non-URL URIs, we should never get here anyway
if (url.path) url.path = this.sanitizeURIComponent(url.path);
}
var urlSpec = url.spec;
var neutralized = Entities.neutralizeAll(urlSpec, /[^\\'"\x00-\x07\x09\x0B\x0C\x0E-\x1F\x7F<>]/);
if (urlSpec != neutralized) url.spec = neutralized;
if (this.base64) {
url.spec = url.prePath; // drastic, but with base64 we cannot take the risk!
}
if (url.getRelativeSpec(original) && unescape(url.spec) != unescape(original.spec)) { // ok, this seems overkill but take my word, the double check is needed